﻿namespace CleanArchitecture.Infrastructure.Services.Authentication
{
    /// <summary>
    /// Represents default values related to authentication services
    /// </summary>
    public static partial class AuthenticationDefaultConfig
    {
        /// <summary>
        /// The default value used for authentication scheme
        /// </summary>
        public static string CookieAuthenticationScheme => "CookieAuthentication";

        /// <summary>
        /// The default value used for external authentication scheme
        /// </summary>
        public static string ExternalAuthenticationScheme => "ExternalAuthentication";

        /// <summary>
        /// The issuer that should be used for any claims that are created
        /// </summary>
        public static string ClaimsIssuer => "NowaNetCore";

        /// <summary>
        /// The default value of the return URL parameter
        /// </summary>
        public static string ReturnUrlParameter => string.Empty;

        public static int CookieExpirationMinutes => 60;

        /// <summary>
        /// Gets a key to store external authentication errors to session
        /// </summary>
        public static string ExternalAuthenticationErrorsSessionKey => "nowa.externalauth.errors";

        public static string JwtAuthenticationScheme => "JwtAuthentication";

        public static string JwtValidIssuer => "NowaNetCore.JwtIssuer";
        public static string JwtValidAudience => "NowaNetCore.JwtAudience";
        public static string JwtIssuerSigningKey => "David@19841205.20190726.Friday";
        public static int JwtExpirationMinutes => 30;

        public static string CustomerIdHashSalt => "NowaNetCore2019";
        public static string ItemIdHashSalt => "DavidLee198412";

    }
}